#pragma once

#ifndef _OGL_RENDERER
#define _OGL_RENDERER

#include "OGLGlobals.h"
#include "OGLViewControl.h"
#include "OGLWindowControl.h"

#include <gl/glew.h>
#include <gl/GLU.h>
#include <gl/glfw.h>

class OGLRenderer
{
private :

	OGLResult init(void);
	OGLResult cleanup(void);
	void frameCounter(void);

public :

	// OGL Controls
	OGLViewControl *viewControl;
	OGLWindowControl *windowControl;

	OGLRenderer(void);
	virtual ~OGLRenderer(void);

	virtual OGLResult LoopInitialize(void);
	virtual OGLResult LoopIterate(void);
	virtual OGLResult LoopUpdate(void);
	virtual OGLResult LoopComplete(void);

	OGLResult Launch(void);
};

#endif